package com.diaohaiwen.basic.account.obj.model.table;

import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.table.TableDef;

/**
 * 系统账户菜单表 表定义层。
 *
 * @author 刁海文
 * @since 2023-07-20 19:06:16
 */
public class AccountMenuDef extends TableDef {

    /**
     * 系统账户菜单表
     */
    public static final AccountMenuDef accountMenu = new AccountMenuDef();

    /**
     * 主键ID
     */
    public final QueryColumn id = new QueryColumn(this, "id");

    /**
     * 排序
     */
    public final QueryColumn sort = new QueryColumn(this, "sort");

    /**
     * 是否有效
     */
    public final QueryColumn valid = new QueryColumn(this, "valid");

    /**
     * 创建时间
     */
    public final QueryColumn created = new QueryColumn(this, "created");

    /**
     * 菜单URL
     */
    public final QueryColumn menuUrl = new QueryColumn(this, "menu_url");

    /**
     * 更新时间
     */
    public final QueryColumn updated = new QueryColumn(this, "updated");

    /**
     * 菜单CODE
     */
    public final QueryColumn menuCode = new QueryColumn(this, "menu_code");

    /**
     * 菜单的图标
     */
    public final QueryColumn menuIcon = new QueryColumn(this, "menu_icon");

    /**
     * 菜单名称
     */
    public final QueryColumn menuName = new QueryColumn(this, "menu_name");

    /**
     * 父级主键ID
     */
    public final QueryColumn parentId = new QueryColumn(this, "parent_id");

    /**
     * 创建人
     */
    public final QueryColumn createdBy = new QueryColumn(this, "created_by");

    /**
     * 更新人
     */
    public final QueryColumn updatedBy = new QueryColumn(this, "updated_by");

    /**
     * 菜单所属模块
     */
    public final QueryColumn moduleName = new QueryColumn(this, "module_name");

    /**
     * 所有字段。
     */
    public final QueryColumn allColumns = new QueryColumn(this, "*");

    /**
     * 默认字段，不包含逻辑删除或者 large 等字段。
     */
    public final QueryColumn[] defaultColumns = new QueryColumn[]{id, createdBy, created, updatedBy, updated, moduleName, parentId, menuName, menuUrl, menuIcon, menuCode, sort, valid};

    public AccountMenuDef() {
        super("", "account_menu");
    }

}
